{
  "bundles": [
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-core",
      "artifactVersion": "7.10-HF07",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "org.nuxeo.ecm.core",
          "org.nuxeo.ecm.core.api",
          "org.nuxeo.ecm.core.cache",
          "org.nuxeo.ecm.core.convert",
          "org.nuxeo.ecm.core.convert.api",
          "org.nuxeo.ecm.core.convert.plugins",
          "org.nuxeo.ecm.core.event",
          "org.nuxeo.ecm.core.io",
          "org.nuxeo.ecm.core.management",
          "org.nuxeo.ecm.core.management.jtajca",
          "org.nuxeo.ecm.core.mimetype",
          "org.nuxeo.ecm.core.opencmis.bindings",
          "org.nuxeo.ecm.core.opencmis.impl",
          "org.nuxeo.ecm.core.persistence",
          "org.nuxeo.ecm.core.query",
          "org.nuxeo.ecm.core.redis",
          "org.nuxeo.ecm.core.schema",
          "org.nuxeo.ecm.core.storage",
          "org.nuxeo.ecm.core.storage.dbs",
          "org.nuxeo.ecm.core.storage.mongodb",
          "org.nuxeo.ecm.core.storage.sql",
          "org.nuxeo.ecm.core.storage.sql.management",
          "org.nuxeo.ecm.core.storage.sql.ra"
        ],
        "hierarchyPath": "/grp:org.nuxeo.ecm.core",
        "id": "grp:org.nuxeo.ecm.core",
        "name": "org.nuxeo.ecm.core",
        "parentIds": [],
        "readmes": [],
        "version": "7.10"
      },
      "bundleId": "org.nuxeo.ecm.core",
      "components": [
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.core.lifecycle.impl.LifeCycleServiceImpl",
          "documentation": "\n\n    Service that deals with life cycle.\n\n    @version 1.0\n    @author <a href=\"mailto:ja@nuxeo.com\">Julien Anguenot</a>\n",
          "documentationHtml": "<p>\nService that deals with life cycle.\n</p><p>\n&#64;version 1.0\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.core.lifecycle.LifeCycleService",
              "descriptors": [
                "org.nuxeo.ecm.core.lifecycle.extensions.LifeCycleDescriptor"
              ],
              "documentation": "\n      Extension point for registering life cycle definition.\n      <p/>\n\n      A life cycle is a state-transition model described as an XML document.\n      <p/>\n\n      A life cycle within Nuxeo Core describes only the states and the\n      transitions without any security policy whatsoever. For instance, the\n      workflow service (or BPM service) will be responsible of the security\n      policy and actors involved.\n    \n",
              "documentationHtml": "<p>\nExtension point for registering life cycle definition.\n</p><p>\nA life cycle is a state-transition model described as an XML document.\n</p><p>\nA life cycle within Nuxeo Core describes only the states and the\ntransitions without any security policy whatsoever. For instance, the\nworkflow service (or BPM service) will be responsible of the security\npolicy and actors involved.\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.lifecycle.LifeCycleService/ExtensionPoints/org.nuxeo.ecm.core.lifecycle.LifeCycleService--lifecycle",
              "id": "org.nuxeo.ecm.core.lifecycle.LifeCycleService--lifecycle",
              "label": "lifecycle (org.nuxeo.ecm.core.lifecycle.LifeCycleService)",
              "name": "lifecycle",
              "version": "7.10-HF07"
            },
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.core.lifecycle.LifeCycleService",
              "descriptors": [
                "org.nuxeo.ecm.core.lifecycle.extensions.LifeCycleTypesDescriptor"
              ],
              "documentation": "\n      Extension point for registering document type to life cycle mappings.\n      <p/>\n\n      For instance, you can specify that a document type <i>File</i>\n will follow a <i>default</i>\n\n      life cycle where <i>default</i>\n is the name of a registered life cycle.\n    \n",
              "documentationHtml": "<p>\nExtension point for registering document type to life cycle mappings.\n</p><p>\nFor instance, you can specify that a document type <i>File</i>\nwill follow a <i>default</i>\n</p><p>\nlife cycle where <i>default</i>\nis the name of a registered life cycle.\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.lifecycle.LifeCycleService/ExtensionPoints/org.nuxeo.ecm.core.lifecycle.LifeCycleService--types",
              "id": "org.nuxeo.ecm.core.lifecycle.LifeCycleService--types",
              "label": "types (org.nuxeo.ecm.core.lifecycle.LifeCycleService)",
              "name": "types",
              "version": "7.10-HF07"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.lifecycle.LifeCycleService",
          "name": "org.nuxeo.ecm.core.lifecycle.LifeCycleService",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.lifecycle.LifeCycleService\">\n\n  <documentation>\n    Service that deals with life cycle.\n\n    @version 1.0\n    @author <a href=\"mailto:ja@nuxeo.com\">Julien Anguenot</a>\n  </documentation>\n\n  <implementation\n      class=\"org.nuxeo.ecm.core.lifecycle.impl.LifeCycleServiceImpl\"/>\n\n  <extension-point name=\"lifecycle\">\n\n    <documentation>\n      Extension point for registering life cycle definition.\n      <p/>\n      A life cycle is a state-transition model described as an XML document.\n      <p/>\n      A life cycle within Nuxeo Core describes only the states and the\n      transitions without any security policy whatsoever. For instance, the\n      workflow service (or BPM service) will be responsible of the security\n      policy and actors involved.\n    </documentation>\n\n    <object class=\"org.nuxeo.ecm.core.lifecycle.extensions.LifeCycleDescriptor\"/>\n\n  </extension-point>\n\n  <extension-point name=\"types\">\n\n    <documentation>\n      Extension point for registering document type to life cycle mappings.\n      <p/>\n      For instance, you can specify that a document type <i>File</i> will follow a <i>default</i>\n      life cycle where <i>default</i> is the name of a registered life cycle.\n    </documentation>\n\n    <object\n        class=\"org.nuxeo.ecm.core.lifecycle.extensions.LifeCycleTypesDescriptor\"/>\n\n  </extension-point>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/LifeCycleService.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.core.repository.RepositoryService",
          "documentation": "\n    Service to manage core repositories.\n  \n",
          "documentationHtml": "<p>\nService to manage core repositories.\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.repository.RepositoryServiceComponent",
          "name": "org.nuxeo.ecm.core.repository.RepositoryServiceComponent",
          "requirements": [],
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.core.repository.RepositoryServiceComponent",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.repository.RepositoryServiceComponent/Services/org.nuxeo.ecm.core.api.CoreSession",
              "id": "org.nuxeo.ecm.core.api.CoreSession",
              "overriden": false,
              "version": "7.10-HF07"
            },
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.core.repository.RepositoryServiceComponent",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.repository.RepositoryServiceComponent/Services/org.nuxeo.ecm.core.repository.RepositoryService",
              "id": "org.nuxeo.ecm.core.repository.RepositoryService",
              "overriden": false,
              "version": "7.10-HF07"
            }
          ],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.repository.RepositoryServiceComponent\"\n  version=\"1.0\">\n  <documentation>\n    Service to manage core repositories.\n  </documentation>\n\n  <require>org.nuxeo.ecm.core.api.repository.RepositoryManager</require>\n  \n  <implementation class=\"org.nuxeo.ecm.core.repository.RepositoryService\" />\n\n  <service>\n    <provide interface=\"org.nuxeo.ecm.core.repository.RepositoryService\" />\n    <provide interface=\"org.nuxeo.ecm.core.api.CoreSession\" />\n  </service>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/RepositoryService.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService--schedule",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.schedulers/Contributions/org.nuxeo.ecm.core.schedulers--schedule",
              "id": "org.nuxeo.ecm.core.schedulers--schedule",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService",
                "name": "org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"schedule\" target=\"org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService\">\n\n    <schedule id=\"aceScheduler\">\n      <eventId>updateACEStatus</eventId>\n      <!-- every 5 mins -->\n      <cronExpression>0 0/5 * * * ?</cronExpression>\n    </schedule>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.work.service--queues",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.schedulers/Contributions/org.nuxeo.ecm.core.schedulers--queues",
              "id": "org.nuxeo.ecm.core.schedulers--queues",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.work.service",
                "name": "org.nuxeo.ecm.core.work.service",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"queues\" target=\"org.nuxeo.ecm.core.work.service\">\n    <queue id=\"updateACEStatus\">\n      <maxThreads>1</maxThreads>\n      <category>updateACEStatus</category>\n    </queue>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.event.EventServiceComponent--listener",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.schedulers/Contributions/org.nuxeo.ecm.core.schedulers--listener",
              "id": "org.nuxeo.ecm.core.schedulers--listener",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.event.EventServiceComponent",
                "name": "org.nuxeo.ecm.core.event.EventServiceComponent",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"listener\" target=\"org.nuxeo.ecm.core.event.EventServiceComponent\">\n    <listener async=\"true\" class=\"org.nuxeo.ecm.core.security.UpdateACEStatusListener\" name=\"updateACEStatus\">\n      <event>updateACEStatus</event>\n    </listener>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.schedulers",
          "name": "org.nuxeo.ecm.core.schedulers",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.schedulers\">\n\n  <extension target=\"org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService\"\n    point=\"schedule\">\n\n    <schedule id=\"aceScheduler\">\n      <eventId>updateACEStatus</eventId>\n      <!-- every 5 mins -->\n      <cronExpression>0 0/5 * * * ?</cronExpression>\n    </schedule>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.event.EventServiceComponent\"\n    point=\"listener\">\n    <listener name=\"updateACEStatus\" async=\"true\" class=\"org.nuxeo.ecm.core.security.UpdateACEStatusListener\">\n      <event>updateACEStatus</event>\n    </listener>\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.work.service\" point=\"queues\">\n    <queue id=\"updateACEStatus\">\n      <maxThreads>1</maxThreads>\n      <category>updateACEStatus</category>\n    </queue>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/scheduler-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentation": "\n\n    Nuxeo core life cycle contributions.\n\n    @version 1.0\n    @author <a href=\"mailto:ja@nuxeo.com\">Julien Anguenot</a>\n",
          "documentationHtml": "<p>\nNuxeo core life cycle contributions.\n</p><p>\n&#64;version 1.0\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentation": "Nuxeo core default life cycle definition.\n",
              "documentationHtml": "<p>\nNuxeo core default life cycle definition.</p>",
              "extensionPoint": "org.nuxeo.ecm.core.lifecycle.LifeCycleService--lifecycle",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.LifecycleCoreExtensions/Contributions/org.nuxeo.ecm.core.LifecycleCoreExtensions--lifecycle",
              "id": "org.nuxeo.ecm.core.LifecycleCoreExtensions--lifecycle",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.lifecycle.LifeCycleService",
                "name": "org.nuxeo.ecm.core.lifecycle.LifeCycleService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"lifecycle\" target=\"org.nuxeo.ecm.core.lifecycle.LifeCycleService\">\n\n    <documentation>Nuxeo core default life cycle definition.</documentation>\n\n    <lifecycle defaultInitial=\"project\" name=\"default\">\n      <transitions>\n        <transition destinationState=\"approved\" name=\"approve\">\n          <description>Approve the content</description>\n        </transition>\n        <transition destinationState=\"obsolete\" name=\"obsolete\">\n          <description>Content becomes obsolete</description>\n        </transition>\n        <transition destinationState=\"deleted\" name=\"delete\">\n          <description>Move document to trash (temporary delete)</description>\n        </transition>\n        <transition destinationState=\"project\" name=\"undelete\">\n          <description>Recover the document from trash</description>\n        </transition>\n        <transition destinationState=\"project\" name=\"backToProject\">\n          <description>Recover the document from trash</description>\n        </transition>\n      </transitions>\n      <states>\n        <state description=\"Default state\" initial=\"true\" name=\"project\">\n          <transitions>\n            <transition>approve</transition>\n            <transition>obsolete</transition>\n            <transition>delete</transition>\n          </transitions>\n        </state>\n        <state description=\"Content has been validated\" name=\"approved\">\n          <transitions>\n            <transition>delete</transition>\n            <transition>backToProject</transition>\n          </transitions>\n        </state>\n        <state description=\"Content is obsolete\" name=\"obsolete\">\n          <transitions>\n            <transition>delete</transition>\n            <transition>backToProject</transition>\n          </transitions>\n        </state>\n        <state description=\"Document is deleted\" name=\"deleted\">\n          <transitions>\n            <transition>undelete</transition>\n          </transitions>\n        </state>\n      </states>\n    </lifecycle>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentation": "\n      Nuxeo core default document types to life cycles mapping\n    \n",
              "documentationHtml": "<p>\nNuxeo core default document types to life cycles mapping\n</p><p></p>",
              "extensionPoint": "org.nuxeo.ecm.core.lifecycle.LifeCycleService--types",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.LifecycleCoreExtensions/Contributions/org.nuxeo.ecm.core.LifecycleCoreExtensions--types",
              "id": "org.nuxeo.ecm.core.LifecycleCoreExtensions--types",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.lifecycle.LifeCycleService",
                "name": "org.nuxeo.ecm.core.lifecycle.LifeCycleService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"types\" target=\"org.nuxeo.ecm.core.lifecycle.LifeCycleService\">\n\n    <documentation>\n      Nuxeo core default document types to life cycles mapping\n    </documentation>\n\n    <types>\n      <type name=\"File\">default</type>\n      <type name=\"Note\">default</type>\n      <type name=\"Calendar\">default</type>\n      <type name=\"Folder\">default</type>\n      <type name=\"OrderedFolder\">default</type>\n      <type name=\"Workspace\">default</type>\n      <type name=\"Domain\">default</type>\n      <type name=\"Root\">default</type>\n      <type name=\"Section\">default</type>\n      <type name=\"WorkspaceRoot\">default</type>\n      <type name=\"SectionRoot\">default</type>\n      <type name=\"TemplateRoot\">default</type>\n    </types>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.LifecycleCoreExtensions",
          "name": "org.nuxeo.ecm.core.LifecycleCoreExtensions",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.core.LifecycleCoreExtensions\">\n\n  <documentation>\n    Nuxeo core life cycle contributions.\n\n    @version 1.0\n    @author <a href=\"mailto:ja@nuxeo.com\">Julien Anguenot</a>\n  </documentation>\n\n  <extension target=\"org.nuxeo.ecm.core.lifecycle.LifeCycleService\"\n    point=\"lifecycle\">\n\n    <documentation>Nuxeo core default life cycle definition.</documentation>\n\n    <lifecycle name=\"default\" defaultInitial=\"project\">\n      <transitions>\n        <transition name=\"approve\" destinationState=\"approved\">\n          <description>Approve the content</description>\n        </transition>\n        <transition name=\"obsolete\" destinationState=\"obsolete\">\n          <description>Content becomes obsolete</description>\n        </transition>\n        <transition name=\"delete\" destinationState=\"deleted\">\n          <description>Move document to trash (temporary delete)</description>\n        </transition>\n        <transition name=\"undelete\" destinationState=\"project\">\n          <description>Recover the document from trash</description>\n        </transition>\n        <transition name=\"backToProject\" destinationState=\"project\">\n          <description>Recover the document from trash</description>\n        </transition>\n      </transitions>\n      <states>\n        <state name=\"project\" description=\"Default state\" initial=\"true\">\n          <transitions>\n            <transition>approve</transition>\n            <transition>obsolete</transition>\n            <transition>delete</transition>\n          </transitions>\n        </state>\n        <state name=\"approved\" description=\"Content has been validated\">\n          <transitions>\n            <transition>delete</transition>\n            <transition>backToProject</transition>\n          </transitions>\n        </state>\n        <state name=\"obsolete\" description=\"Content is obsolete\">\n          <transitions>\n            <transition>delete</transition>\n            <transition>backToProject</transition>\n          </transitions>\n        </state>\n        <state name=\"deleted\" description=\"Document is deleted\">\n          <transitions>\n            <transition>undelete</transition>\n          </transitions>\n        </state>\n      </states>\n    </lifecycle>\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.lifecycle.LifeCycleService\"\n    point=\"types\">\n\n    <documentation>\n      Nuxeo core default document types to life cycles mapping\n    </documentation>\n\n    <types>\n      <type name=\"File\">default</type>\n      <type name=\"Note\">default</type>\n      <type name=\"Calendar\">default</type>\n      <type name=\"Folder\">default</type>\n      <type name=\"OrderedFolder\">default</type>\n      <type name=\"Workspace\">default</type>\n      <type name=\"Domain\">default</type>\n      <type name=\"Root\">default</type>\n      <type name=\"Section\">default</type>\n      <type name=\"WorkspaceRoot\">default</type>\n      <type name=\"SectionRoot\">default</type>\n      <type name=\"TemplateRoot\">default</type>\n    </types>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/LifeCycleCoreExtensions.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.core.versioning.VersioningComponent",
          "documentation": "\n    The versioning service hold the versioning policy used to define what\n    happens to a document's version when it is created, saved, checked in,\n    checked out or restored, and what version increment options (none, minor,\n    major) are made available to the user.\n\n    @Since 5.4\n  \n",
          "documentationHtml": "<p>\nThe versioning service hold the versioning policy used to define what\nhappens to a document&#39;s version when it is created, saved, checked in,\nchecked out or restored, and what version increment options (none, minor,\nmajor) are made available to the user.\n</p><p>\n&#64;Since 5.4\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.core.versioning.VersioningService",
              "descriptors": [
                "org.nuxeo.ecm.core.versioning.VersioningRuleDescriptor",
                "org.nuxeo.ecm.core.versioning.DefaultVersioningRuleDescriptor"
              ],
              "documentation": "\n      Extension point defining default versioning rules or versioning rules by\n      document type. Contributions to this XP are available for\n      VersioningService implementing ExtendableVersioningService interface.\n\n      Example:\n\n      <code>\n    <defaultVersioningRule>\n        <initialState major=\"1\" minor=\"0\"/>\n        <options lifeCycleState=\"*\">\n            <none default=\"true\"/>\n            <minor/>\n            <major/>\n        </options>\n        <options lifeCycleState=\"approved\">\n            <none default=\"true\"/>\n            <minor/>\n        </options>\n    </defaultVersioningRule>\n    <versioningRule enabled=\"true\" typeName=\"File\">\n        <initialState major=\"1\" minor=\"1\"/>\n        <options lifeCycleState=\"project\">\n            <none/>\n            <minor default=\"true\"/>\n        </options>\n        <options lifeCycleState=\"approved\"/>\n    </versioningRule>\n</code>\n\n\n      The defaultVersioningRule will be used for all the document types if no\n      specific versioningRule is contributed.\n\n      typeName attribute is only available for versioningRule tag and should be\n      the name of a document type.\n\n      Initial state is the initial version number of the document. Default is\n      0.0 .\n\n      Options tag contains the different increment option available when saving\n      a document. Only none, minor and major tags are used. If the default\n      attribute isn't set, the first tag will be used as default. Options tag\n      should always have the lifeCycleState attribute. The life cycle state name\n      \"*\" can be used to match any state: it'll be used by default if no other\n      option with a matching state exists.\n\n      Following option gives no increment saving option when the current\n      lifeCycle of the document is approved.\n      <code>\n    <options lifeCycleState=\"approved\"/>\n</code>\n\n\n      Following options removes major increment option and set the minor\n      increment option as default choice.\n      <code>\n    <options lifeCycleState=\"project\">\n        <none/>\n        <minor default=\"true\"/>\n    </options>\n</code>\n\n\n      If no option is specified, the defaultVersioningRule is used. If there is\n      no defaultVersioningRule, we fall back on the service implementation.\n\n      @Since 5.4.2\n    \n",
              "documentationHtml": "<p>\nExtension point defining default versioning rules or versioning rules by\ndocument type. Contributions to this XP are available for\nVersioningService implementing ExtendableVersioningService interface.\n</p><p>\nExample:\n</p><p>\n</p><pre><code>    &lt;defaultVersioningRule&gt;\n        &lt;initialState major&#61;&#34;1&#34; minor&#61;&#34;0&#34;/&gt;\n        &lt;options lifeCycleState&#61;&#34;*&#34;&gt;\n            &lt;none default&#61;&#34;true&#34;/&gt;\n            &lt;minor/&gt;\n            &lt;major/&gt;\n        &lt;/options&gt;\n        &lt;options lifeCycleState&#61;&#34;approved&#34;&gt;\n            &lt;none default&#61;&#34;true&#34;/&gt;\n            &lt;minor/&gt;\n        &lt;/options&gt;\n    &lt;/defaultVersioningRule&gt;\n    &lt;versioningRule enabled&#61;&#34;true&#34; typeName&#61;&#34;File&#34;&gt;\n        &lt;initialState major&#61;&#34;1&#34; minor&#61;&#34;1&#34;/&gt;\n        &lt;options lifeCycleState&#61;&#34;project&#34;&gt;\n            &lt;none/&gt;\n            &lt;minor default&#61;&#34;true&#34;/&gt;\n        &lt;/options&gt;\n        &lt;options lifeCycleState&#61;&#34;approved&#34;/&gt;\n    &lt;/versioningRule&gt;\n</code></pre><p>\nThe defaultVersioningRule will be used for all the document types if no\nspecific versioningRule is contributed.\n</p><p>\ntypeName attribute is only available for versioningRule tag and should be\nthe name of a document type.\n</p><p>\nInitial state is the initial version number of the document. Default is\n0.0 .\n</p><p>\nOptions tag contains the different increment option available when saving\na document. Only none, minor and major tags are used. If the default\nattribute isn&#39;t set, the first tag will be used as default. Options tag\nshould always have the lifeCycleState attribute. The life cycle state name\n&#34;*&#34; can be used to match any state: it&#39;ll be used by default if no other\noption with a matching state exists.\n</p><p>\nFollowing option gives no increment saving option when the current\nlifeCycle of the document is approved.\n</p><p></p><pre><code>    &lt;options lifeCycleState&#61;&#34;approved&#34;/&gt;\n</code></pre><p>\nFollowing options removes major increment option and set the minor\nincrement option as default choice.\n</p><p></p><pre><code>    &lt;options lifeCycleState&#61;&#34;project&#34;&gt;\n        &lt;none/&gt;\n        &lt;minor default&#61;&#34;true&#34;/&gt;\n    &lt;/options&gt;\n</code></pre><p>\nIf no option is specified, the defaultVersioningRule is used. If there is\nno defaultVersioningRule, we fall back on the service implementation.\n</p><p>\n&#64;Since 5.4.2\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.versioning.VersioningService/ExtensionPoints/org.nuxeo.ecm.core.versioning.VersioningService--versioningRules",
              "id": "org.nuxeo.ecm.core.versioning.VersioningService--versioningRules",
              "label": "versioningRules (org.nuxeo.ecm.core.versioning.VersioningService)",
              "name": "versioningRules",
              "version": "7.10-HF07"
            },
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.core.versioning.VersioningService",
              "descriptors": [
                "org.nuxeo.ecm.core.versioning.VersioningServiceDescriptor"
              ],
              "documentation": "\n      Extension point defining the implementation of the versioning policy.\n      Example:\n\n      <code>\n    <service class=\"some-class\"/>\n</code>\n\n\n      The provided class must implement\n      org.nuxeo.ecm.core.versioning.VersioningService\n\n      The default implementation is\n      org.nuxeo.ecm.core.versioning.StandardVersioningService You can contribute\n      org.nuxeo.ecm.core.versioning.CompatVersioningService to get pre-Nuxeo 5.4\n      behavior.\n    \n",
              "documentationHtml": "<p>\nExtension point defining the implementation of the versioning policy.\nExample:\n</p><p>\n</p><pre><code>    &lt;service class&#61;&#34;some-class&#34;/&gt;\n</code></pre><p>\nThe provided class must implement\norg.nuxeo.ecm.core.versioning.VersioningService\n</p><p>\nThe default implementation is\norg.nuxeo.ecm.core.versioning.StandardVersioningService You can contribute\norg.nuxeo.ecm.core.versioning.CompatVersioningService to get pre-Nuxeo 5.4\nbehavior.\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.versioning.VersioningService/ExtensionPoints/org.nuxeo.ecm.core.versioning.VersioningService--versioningService",
              "id": "org.nuxeo.ecm.core.versioning.VersioningService--versioningService",
              "label": "versioningService (org.nuxeo.ecm.core.versioning.VersioningService)",
              "name": "versioningService",
              "version": "7.10-HF07"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.versioning.VersioningService",
          "name": "org.nuxeo.ecm.core.versioning.VersioningService",
          "requirements": [],
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.core.versioning.VersioningService",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.versioning.VersioningService/Services/org.nuxeo.ecm.core.versioning.VersioningService",
              "id": "org.nuxeo.ecm.core.versioning.VersioningService",
              "overriden": false,
              "version": "7.10-HF07"
            }
          ],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.versioning.VersioningService\">\n\n  <service>\n    <provide interface=\"org.nuxeo.ecm.core.versioning.VersioningService\" />\n  </service>\n\n  <implementation class=\"org.nuxeo.ecm.core.versioning.VersioningComponent\" />\n\n  <documentation>\n    The versioning service hold the versioning policy used to define what\n    happens to a document's version when it is created, saved, checked in,\n    checked out or restored, and what version increment options (none, minor,\n    major) are made available to the user.\n\n    @Since 5.4\n  </documentation>\n\n  <extension-point name=\"versioningService\">\n    <documentation>\n      Extension point defining the implementation of the versioning policy.\n      Example:\n\n      <code>\n        <service class=\"some-class\" />\n      </code>\n\n      The provided class must implement\n      org.nuxeo.ecm.core.versioning.VersioningService\n\n      The default implementation is\n      org.nuxeo.ecm.core.versioning.StandardVersioningService You can contribute\n      org.nuxeo.ecm.core.versioning.CompatVersioningService to get pre-Nuxeo 5.4\n      behavior.\n    </documentation>\n\n    <object class=\"org.nuxeo.ecm.core.versioning.VersioningServiceDescriptor\" />\n\n  </extension-point>\n\n  <extension-point name=\"versioningRules\">\n    <documentation>\n      Extension point defining default versioning rules or versioning rules by\n      document type. Contributions to this XP are available for\n      VersioningService implementing ExtendableVersioningService interface.\n\n      Example:\n\n      <code>\n        <defaultVersioningRule>\n          <initialState major=\"1\" minor=\"0\" />\n          <options lifeCycleState=\"*\">\n            <none default=\"true\" />\n            <minor />\n            <major />\n          </options>\n          <options lifeCycleState=\"approved\">\n            <none default=\"true\" />\n            <minor />\n          </options>\n        </defaultVersioningRule>\n\n        <versioningRule typeName=\"File\" enabled=\"true\">\n          <initialState major=\"1\" minor=\"1\" />\n          <options lifeCycleState=\"project\">\n            <none />\n            <minor default=\"true\" />\n          </options>\n          <options lifeCycleState=\"approved\" />\n        </versioningRule>\n      </code>\n\n      The defaultVersioningRule will be used for all the document types if no\n      specific versioningRule is contributed.\n\n      typeName attribute is only available for versioningRule tag and should be\n      the name of a document type.\n\n      Initial state is the initial version number of the document. Default is\n      0.0 .\n\n      Options tag contains the different increment option available when saving\n      a document. Only none, minor and major tags are used. If the default\n      attribute isn't set, the first tag will be used as default. Options tag\n      should always have the lifeCycleState attribute. The life cycle state name\n      \"*\" can be used to match any state: it'll be used by default if no other\n      option with a matching state exists.\n\n      Following option gives no increment saving option when the current\n      lifeCycle of the document is approved.\n      <code>\n        <options lifeCycleState=\"approved\" />\n      </code>\n\n      Following options removes major increment option and set the minor\n      increment option as default choice.\n      <code>\n        <options lifeCycleState=\"project\">\n          <none />\n          <minor default=\"true\" />\n        </options>\n      </code>\n\n      If no option is specified, the defaultVersioningRule is used. If there is\n      no defaultVersioningRule, we fall back on the service implementation.\n\n      @Since 5.4.2\n    </documentation>\n\n    <object class=\"org.nuxeo.ecm.core.versioning.VersioningRuleDescriptor\" />\n    <object\n      class=\"org.nuxeo.ecm.core.versioning.DefaultVersioningRuleDescriptor\" />\n\n  </extension-point>\n</component>\n",
          "xmlFileName": "/OSGI-INF/versioning-service.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.core.security.SecurityService",
          "documentation": "\n    The security service is responsible to check the permission on a\n    repository. Permission check will be usually forwarded to the\n    security manager defined on the repository. This may change later.\n    <p/>\n\n    It holds a permission provider that defines the list of available permission\n    names and how they are combined into groups of permissions.\n    <p/>\n\n    It also defines which permissions are high level permissions that are to be\n    managed through the end user interface and in which order they should be\n    display in management menus.\n    <p/>\n\n\n    It also holds a security policy service that can stack custom policies.\n    These policies can override default permission checks based on acls set on\n    the document and/or its parents.\n\n    @author <a href=\"mailto:bs@nuxeo.com\">Bogdan Stefanescu</a>\n\n    @author <a href=\"mailto:og@nuxeo.com\">Olivier Grisel</a>\n\n    @author <a href=\"mailto:at@nuxeo.com\">Anahide Tchertchian</a>\n",
          "documentationHtml": "<p>\nThe security service is responsible to check the permission on a\nrepository. Permission check will be usually forwarded to the\nsecurity manager defined on the repository. This may change later.\n</p><p>\nIt holds a permission provider that defines the list of available permission\nnames and how they are combined into groups of permissions.\n</p><p>\nIt also defines which permissions are high level permissions that are to be\nmanaged through the end user interface and in which order they should be\ndisplay in management menus.\n</p><p>\nIt also holds a security policy service that can stack custom policies.\nThese policies can override default permission checks based on acls set on\nthe document and/or its parents.\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.core.security.SecurityService",
              "descriptors": [
                "org.nuxeo.ecm.core.security.PermissionDescriptor"
              ],
              "documentation": "\n      Extension point to register permission definitions or override\n      existing permissions.\n      <p/>\n\n\n      Example to define a single atomic permissions that are not meant\n      to be displayed in the rights management screen of folders:\n      <code>\n    <permission name=\"Browse\"/>\n    <permission name=\"ReadVersion\"/>\n    <permission name=\"ReadProperties\"/>\n    <permission name=\"ReadChildren\"/>\n    <permission name=\"ReadLifeCycle\"/>\n    <permission name=\"ReviewParticipant\"/>\n</code>\n<p/>\n\n\n      Example to define a compound permission that holds many related\n      atomic permissions into a single high level (role-like)\n      permission:\n      <code>\n    <permission name=\"Read\">\n        <include>Browse</include>\n        <include>ReadVersion</include>\n        <include>ReadProperties</include>\n        <include>ReadChildren</include>\n        <include>ReadLifeCycle</include>\n        <include>ReviewParticipant</include>\n    </permission>\n</code>\n\n\n      Note that each of the included permissions should have been\n      previously registered with their on &lt;permission/&gt;\n      declaration.\n\n      <p/>\n\n\n      It is later possible to override that definition in another\n      contribution to that extension-point to add a new permission\n      'CustomPerm' and remove 'ReviewParticipant':\n      <code>\n    <permission name=\"CustomPerm\"/>\n    <permission name=\"Read\">\n        <include>CustomPerm</include>\n        <remove>ReviewParticipant</remove>\n    </permission>\n</code>\n<p/>\n\n\n      Eventually the permissions declaration also accept 'alias' tags to\n      handle backward compatibility with deprecated permissions:\n      <code>\n    <permission name=\"ReadVersion\">\n        <!-- The Version permission is deprecated\n            since it's name is ambiguous, use\n            ReadPermission instead -->\n        <alias>Version</alias>\n    </permission>\n</code>\n\n\n      NB: the alias feature is parsed by the extension point but the\n      underlying SecurityManager implementation does not leverage it\n      yet.\n\n    \n",
              "documentationHtml": "<p>\nExtension point to register permission definitions or override\nexisting permissions.\n</p><p>\nExample to define a single atomic permissions that are not meant\nto be displayed in the rights management screen of folders:\n</p><p></p><pre><code>    &lt;permission name&#61;&#34;Browse&#34;/&gt;\n    &lt;permission name&#61;&#34;ReadVersion&#34;/&gt;\n    &lt;permission name&#61;&#34;ReadProperties&#34;/&gt;\n    &lt;permission name&#61;&#34;ReadChildren&#34;/&gt;\n    &lt;permission name&#61;&#34;ReadLifeCycle&#34;/&gt;\n    &lt;permission name&#61;&#34;ReviewParticipant&#34;/&gt;\n</code></pre><p>\nExample to define a compound permission that holds many related\natomic permissions into a single high level (role-like)\npermission:\n</p><p></p><pre><code>    &lt;permission name&#61;&#34;Read&#34;&gt;\n        &lt;include&gt;Browse&lt;/include&gt;\n        &lt;include&gt;ReadVersion&lt;/include&gt;\n        &lt;include&gt;ReadProperties&lt;/include&gt;\n        &lt;include&gt;ReadChildren&lt;/include&gt;\n        &lt;include&gt;ReadLifeCycle&lt;/include&gt;\n        &lt;include&gt;ReviewParticipant&lt;/include&gt;\n    &lt;/permission&gt;\n</code></pre><p>\nNote that each of the included permissions should have been\npreviously registered with their on &lt;permission/&gt;\ndeclaration.\n</p><p>\nIt is later possible to override that definition in another\ncontribution to that extension-point to add a new permission\n&#39;CustomPerm&#39; and remove &#39;ReviewParticipant&#39;:\n</p><p></p><pre><code>    &lt;permission name&#61;&#34;CustomPerm&#34;/&gt;\n    &lt;permission name&#61;&#34;Read&#34;&gt;\n        &lt;include&gt;CustomPerm&lt;/include&gt;\n        &lt;remove&gt;ReviewParticipant&lt;/remove&gt;\n    &lt;/permission&gt;\n</code></pre><p>\nEventually the permissions declaration also accept &#39;alias&#39; tags to\nhandle backward compatibility with deprecated permissions:\n</p><p></p><pre><code>    &lt;permission name&#61;&#34;ReadVersion&#34;&gt;\n        &lt;!-- The Version permission is deprecated\n            since it&#39;s name is ambiguous, use\n            ReadPermission instead --&gt;\n        &lt;alias&gt;Version&lt;/alias&gt;\n    &lt;/permission&gt;\n</code></pre><p>\nNB: the alias feature is parsed by the extension point but the\nunderlying SecurityManager implementation does not leverage it\nyet.\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.security.SecurityService/ExtensionPoints/org.nuxeo.ecm.core.security.SecurityService--permissions",
              "id": "org.nuxeo.ecm.core.security.SecurityService--permissions",
              "label": "permissions (org.nuxeo.ecm.core.security.SecurityService)",
              "name": "permissions",
              "version": "7.10-HF07"
            },
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.core.security.SecurityService",
              "descriptors": [
                "org.nuxeo.ecm.core.security.PermissionVisibilityDescriptor"
              ],
              "documentation": "\n      Extension point to register permission visibility in user\n      interface or override existing settings.\n      <p/>\n\n\n      Example to define the default list of permissions that are\n      manageable through the UI screens:\n      <code>\n    <visibility>\n        <item order=\"10\" show=\"true\">Read</item>\n        <item order=\"50\" show=\"true\">ReadWrite</item>\n        <item order=\"100\" show=\"true\">Everything</item>\n    </visibility>\n</code>\n\n\n      This list of options items will be displayed if no type specific\n      settings are registered.\n\n      <p/>\n\n      Example to define the default list of permissions that are\n      specific to the Section document type:\n      <code>\n    <visibility type=\"Section\">\n        <item order=\"10\" show=\"true\">Read</item>\n        <item order=\"100\" show=\"true\">Everything</item>\n    </visibility>\n</code>\n\n\n      Note: the 'show' attribute defaults to 'true' and the 'order'\n      attribute defaults to '0'.\n\n    \n",
              "documentationHtml": "<p>\nExtension point to register permission visibility in user\ninterface or override existing settings.\n</p><p>\nExample to define the default list of permissions that are\nmanageable through the UI screens:\n</p><p></p><pre><code>    &lt;visibility&gt;\n        &lt;item order&#61;&#34;10&#34; show&#61;&#34;true&#34;&gt;Read&lt;/item&gt;\n        &lt;item order&#61;&#34;50&#34; show&#61;&#34;true&#34;&gt;ReadWrite&lt;/item&gt;\n        &lt;item order&#61;&#34;100&#34; show&#61;&#34;true&#34;&gt;Everything&lt;/item&gt;\n    &lt;/visibility&gt;\n</code></pre><p>\nThis list of options items will be displayed if no type specific\nsettings are registered.\n</p><p>\nExample to define the default list of permissions that are\nspecific to the Section document type:\n</p><p></p><pre><code>    &lt;visibility type&#61;&#34;Section&#34;&gt;\n        &lt;item order&#61;&#34;10&#34; show&#61;&#34;true&#34;&gt;Read&lt;/item&gt;\n        &lt;item order&#61;&#34;100&#34; show&#61;&#34;true&#34;&gt;Everything&lt;/item&gt;\n    &lt;/visibility&gt;\n</code></pre><p>\nNote: the &#39;show&#39; attribute defaults to &#39;true&#39; and the &#39;order&#39;\nattribute defaults to &#39;0&#39;.\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.security.SecurityService/ExtensionPoints/org.nuxeo.ecm.core.security.SecurityService--permissionsVisibility",
              "id": "org.nuxeo.ecm.core.security.SecurityService--permissionsVisibility",
              "label": "permissionsVisibility (org.nuxeo.ecm.core.security.SecurityService)",
              "name": "permissionsVisibility",
              "version": "7.10-HF07"
            },
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.core.security.SecurityService",
              "descriptors": [
                "org.nuxeo.ecm.core.security.SecurityPolicyDescriptor"
              ],
              "documentation": "\n      Extension point to register custom security policies or override existing\n      policies.\n      <p/>\n\n\n      Policies are checked in the order they are defined. They can grant or deny\n      access, in case following policies - as well as the default security check\n      relying on the acp set on the document - will be ignored. They can also\n      return an undefined access, in case following policy checks will continue.\n\n      <p/>\n\n\n      Example to define a custom policy :\n      <code>\n    <policy class=\"org.nuxeo.ecm.core.security.LockSecurityPolicy\"\n        name=\"lock\" order=\"10\"/>\n</code>\n\n\n      The class used has to implement the\n      org.nuxeo.ecm.core.security.SecurityPolicy interface.\n\n      <p/>\n\n\n      It is later possible to override that definition in another contribution\n      to that extension-point to disable or override a policy:\n      <code>\n    <policy enabled=\"false\" name=\"lock\"/>\n    <policy class=\"org.nuxeo.ecm.core.security.LockSecurityPolicy\"\n        name=\"lock\" order=\"20\"/>\n</code>\n<p/>\n\n\n      @author <a href=\"mailto:at@nuxeo.com\">Anahide Tchertchian</a>\n",
              "documentationHtml": "<p>\nExtension point to register custom security policies or override existing\npolicies.\n</p><p>\nPolicies are checked in the order they are defined. They can grant or deny\naccess, in case following policies - as well as the default security check\nrelying on the acp set on the document - will be ignored. They can also\nreturn an undefined access, in case following policy checks will continue.\n</p><p>\nExample to define a custom policy :\n</p><p></p><pre><code>    &lt;policy class&#61;&#34;org.nuxeo.ecm.core.security.LockSecurityPolicy&#34;\n        name&#61;&#34;lock&#34; order&#61;&#34;10&#34;/&gt;\n</code></pre><p>\nThe class used has to implement the\norg.nuxeo.ecm.core.security.SecurityPolicy interface.\n</p><p>\nIt is later possible to override that definition in another contribution\nto that extension-point to disable or override a policy:\n</p><p></p><pre><code>    &lt;policy enabled&#61;&#34;false&#34; name&#61;&#34;lock&#34;/&gt;\n    &lt;policy class&#61;&#34;org.nuxeo.ecm.core.security.LockSecurityPolicy&#34;\n        name&#61;&#34;lock&#34; order&#61;&#34;20&#34;/&gt;\n</code></pre><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.security.SecurityService/ExtensionPoints/org.nuxeo.ecm.core.security.SecurityService--policies",
              "id": "org.nuxeo.ecm.core.security.SecurityService--policies",
              "label": "policies (org.nuxeo.ecm.core.security.SecurityService)",
              "name": "policies",
              "version": "7.10-HF07"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.security.SecurityService",
          "name": "org.nuxeo.ecm.core.security.SecurityService",
          "requirements": [],
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.core.security.SecurityService",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.security.SecurityService/Services/org.nuxeo.ecm.core.security.SecurityPolicyService",
              "id": "org.nuxeo.ecm.core.security.SecurityPolicyService",
              "overriden": false,
              "version": "7.10-HF07"
            },
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.core.security.SecurityService",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.security.SecurityService/Services/org.nuxeo.ecm.core.api.security.PermissionProvider",
              "id": "org.nuxeo.ecm.core.api.security.PermissionProvider",
              "overriden": false,
              "version": "7.10-HF07"
            },
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.core.security.SecurityService",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.security.SecurityService/Services/org.nuxeo.ecm.core.security.SecurityService",
              "id": "org.nuxeo.ecm.core.security.SecurityService",
              "overriden": false,
              "version": "7.10-HF07"
            }
          ],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.core.security.SecurityService\"\n  version=\"1.0\">\n\n  <implementation class=\"org.nuxeo.ecm.core.security.SecurityService\" />\n\n  <service>\n    <provide interface=\"org.nuxeo.ecm.core.security.SecurityService\" />\n    <provide interface=\"org.nuxeo.ecm.core.api.security.PermissionProvider\" />\n    <provide interface=\"org.nuxeo.ecm.core.security.SecurityPolicyService\" />\n  </service>\n\n  <documentation>\n    The security service is responsible to check the permission on a\n    repository. Permission check will be usually forwarded to the\n    security manager defined on the repository. This may change later.\n    <p />\n    It holds a permission provider that defines the list of available permission\n    names and how they are combined into groups of permissions.\n    <p />\n    It also defines which permissions are high level permissions that are to be\n    managed through the end user interface and in which order they should be\n    display in management menus.\n    <p />\n    It also holds a security policy service that can stack custom policies.\n    These policies can override default permission checks based on acls set on\n    the document and/or its parents.\n\n    @author <a href=\"mailto:bs@nuxeo.com\">Bogdan Stefanescu</a>\n    @author <a href=\"mailto:og@nuxeo.com\">Olivier Grisel</a>\n    @author <a href=\"mailto:at@nuxeo.com\">Anahide Tchertchian</a>\n  </documentation>\n\n  <implementation class=\"org.nuxeo.ecm.core.security.SecurityService\" />\n\n  <extension-point name=\"permissions\">\n\n    <documentation>\n      Extension point to register permission definitions or override\n      existing permissions.\n      <p />\n\n      Example to define a single atomic permissions that are not meant\n      to be displayed in the rights management screen of folders:\n      <code>\n        <permission name=\"Browse\" />\n        <permission name=\"ReadVersion\" />\n        <permission name=\"ReadProperties\" />\n        <permission name=\"ReadChildren\" />\n        <permission name=\"ReadLifeCycle\" />\n        <permission name=\"ReviewParticipant\" />\n      </code>\n\n      <p />\n\n      Example to define a compound permission that holds many related\n      atomic permissions into a single high level (role-like)\n      permission:\n      <code>\n        <permission name=\"Read\">\n          <include>Browse</include>\n          <include>ReadVersion</include>\n          <include>ReadProperties</include>\n          <include>ReadChildren</include>\n          <include>ReadLifeCycle</include>\n          <include>ReviewParticipant</include>\n        </permission>\n      </code>\n\n      Note that each of the included permissions should have been\n      previously registered with their on &lt;permission/&gt;\n      declaration.\n\n      <p />\n\n      It is later possible to override that definition in another\n      contribution to that extension-point to add a new permission\n      'CustomPerm' and remove 'ReviewParticipant':\n      <code>\n        <permission name=\"CustomPerm\" />\n\n        <permission name=\"Read\">\n          <include>CustomPerm</include>\n          <remove>ReviewParticipant</remove>\n        </permission>\n      </code>\n\n      <p />\n\n      Eventually the permissions declaration also accept 'alias' tags to\n      handle backward compatibility with deprecated permissions:\n      <code>\n        <permission name=\"ReadVersion\">\n          <!-- The Version permission is deprecated\n            since it's name is ambiguous, use\n            ReadPermission instead -->\n          <alias>Version</alias>\n        </permission>\n      </code>\n\n      NB: the alias feature is parsed by the extension point but the\n      underlying SecurityManager implementation does not leverage it\n      yet.\n\n    </documentation>\n\n    <object class=\"org.nuxeo.ecm.core.security.PermissionDescriptor\" />\n  </extension-point>\n\n  <extension-point name=\"permissionsVisibility\">\n\n    <documentation>\n      Extension point to register permission visibility in user\n      interface or override existing settings.\n      <p />\n\n      Example to define the default list of permissions that are\n      manageable through the UI screens:\n      <code>\n        <visibility>\n          <item show=\"true\" order=\"10\">Read</item>\n          <item show=\"true\" order=\"50\">ReadWrite</item>\n          <item show=\"true\" order=\"100\">Everything</item>\n        </visibility>\n      </code>\n\n      This list of options items will be displayed if no type specific\n      settings are registered.\n\n      <p />\n      Example to define the default list of permissions that are\n      specific to the Section document type:\n      <code>\n        <visibility type=\"Section\">\n          <item show=\"true\" order=\"10\">Read</item>\n          <item show=\"true\" order=\"100\">Everything</item>\n        </visibility>\n      </code>\n\n      Note: the 'show' attribute defaults to 'true' and the 'order'\n      attribute defaults to '0'.\n\n    </documentation>\n\n    <object\n      class=\"org.nuxeo.ecm.core.security.PermissionVisibilityDescriptor\" />\n  </extension-point>\n\n  <extension-point name=\"policies\">\n\n    <documentation>\n      Extension point to register custom security policies or override existing\n      policies.\n      <p />\n\n      Policies are checked in the order they are defined. They can grant or deny\n      access, in case following policies - as well as the default security check\n      relying on the acp set on the document - will be ignored. They can also\n      return an undefined access, in case following policy checks will continue.\n\n      <p />\n\n      Example to define a custom policy :\n      <code>\n        <policy name=\"lock\"\n          class=\"org.nuxeo.ecm.core.security.LockSecurityPolicy\" order=\"10\" />\n      </code>\n\n      The class used has to implement the\n      org.nuxeo.ecm.core.security.SecurityPolicy interface.\n\n      <p />\n\n      It is later possible to override that definition in another contribution\n      to that extension-point to disable or override a policy:\n      <code>\n        <policy name=\"lock\" enabled=\"false\" />\n\n        <policy name=\"lock\"\n          class=\"org.nuxeo.ecm.core.security.LockSecurityPolicy\" order=\"20\" />\n      </code>\n\n      <p />\n\n      @author <a href=\"mailto:at@nuxeo.com\">Anahide Tchertchian</a>\n\n    </documentation>\n\n    <object class=\"org.nuxeo.ecm.core.security.SecurityPolicyDescriptor\" />\n  </extension-point>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/SecurityService.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentation": "\n\n    Default permissions (atomic and compound) used by the core. If you\n    edit this file, please update the specification file:\n    doc/NXCore-Security.txt in core module\n\n    @author <a href=\"mailto:og@nuxeo.com\">Olivier Grisel</a>\n",
          "documentationHtml": "<p>\nDefault permissions (atomic and compound) used by the core. If you\nedit this file, please update the specification file:\ndoc/NXCore-Security.txt in core module\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.security.SecurityService--permissionsVisibility",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.security.defaultPermissions/Contributions/org.nuxeo.ecm.core.security.defaultPermissions--permissionsVisibility",
              "id": "org.nuxeo.ecm.core.security.defaultPermissions--permissionsVisibility",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.security.SecurityService",
                "name": "org.nuxeo.ecm.core.security.SecurityService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"permissionsVisibility\" target=\"org.nuxeo.ecm.core.security.SecurityService\">\n\n    <visibility>\n      <item order=\"10\" show=\"true\">Read</item>\n      <item denyPermission=\"Write\" order=\"50\" show=\"true\">ReadWrite</item>\n      <item order=\"100\" show=\"true\">Everything</item>\n    </visibility>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.security.SecurityService--permissions",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.security.defaultPermissions/Contributions/org.nuxeo.ecm.core.security.defaultPermissions--permissions",
              "id": "org.nuxeo.ecm.core.security.defaultPermissions--permissions",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.security.SecurityService",
                "name": "org.nuxeo.ecm.core.security.SecurityService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"permissions\" target=\"org.nuxeo.ecm.core.security.SecurityService\">\n\n    <permission name=\"Browse\"/>\n    <permission name=\"ReadProperties\">\n      <include>Browse</include>\n    </permission>\n    <permission name=\"ReadChildren\"/>\n    <permission name=\"ReadLifeCycle\"/>\n    <permission name=\"ReviewParticipant\"/>\n    <permission name=\"ReadSecurity\"/>\n\n    <permission name=\"WriteProperties\"/>\n    <permission name=\"ReadVersion\"/>\n\n    <permission name=\"WriteVersion\">\n       <include>WriteProperties</include>\n    </permission>\n\n    <permission name=\"Version\">\n       <include>ReadVersion</include>\n       <include>WriteVersion</include>\n    </permission>\n\n    <permission name=\"Read\">\n      <include>Browse</include>\n      <include>ReadVersion</include>\n      <include>ReadProperties</include>\n      <include>ReadChildren</include>\n      <include>ReadLifeCycle</include>\n      <include>ReadSecurity</include>\n      <include>ReviewParticipant</include>\n    </permission>\n\n    <permission name=\"AddChildren\"/>\n    <permission name=\"RemoveChildren\"/>\n    <permission name=\"Remove\"/>\n    <permission name=\"ManageWorkflows\"/>\n    <permission name=\"WriteLifeCycle\"/>\n    <permission name=\"Unlock\"/>\n\n    <permission name=\"Remove\">\n      <include>RemoveChildren</include>\n      <!-- NXP-10929: necessary to follow the \"delete\" transition when Trash is enabled -->\n      <include>WriteLifeCycle</include>\n    </permission>\n\n    <permission name=\"ReadRemove\">\n      <include>Read</include>\n      <include>Remove</include>\n    </permission>\n\n    <permission name=\"Write\">\n      <include>AddChildren</include>\n      <include>WriteProperties</include>\n      <include>Remove</include>\n      <include>ManageWorkflows</include>\n      <include>WriteLifeCycle</include>\n      <include>WriteVersion</include>\n    </permission>\n\n    <permission name=\"ReadWrite\">\n      <include>Read</include>\n      <include>Write</include>\n    </permission>\n\n    <permission name=\"WriteSecurity\"/>\n\n    <!-- special permission given to administrators: god-level access -->\n    <permission name=\"Everything\"/>\n\n    <!-- deprecated - was used only for a single customer\n      project before pluggable permission definitions -->\n    <permission name=\"RestrictedRead\"/>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.security.defaultPermissions",
          "name": "org.nuxeo.ecm.core.security.defaultPermissions",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.security.defaultPermissions\">\n  <documentation>\n    Default permissions (atomic and compound) used by the core. If you\n    edit this file, please update the specification file:\n    doc/NXCore-Security.txt in core module\n\n    @author <a href=\"mailto:og@nuxeo.com\">Olivier Grisel</a>\n  </documentation>\n\n  <extension target=\"org.nuxeo.ecm.core.security.SecurityService\"\n    point=\"permissions\">\n\n    <permission name=\"Browse\" />\n    <permission name=\"ReadProperties\">\n      <include>Browse</include>\n    </permission>\n    <permission name=\"ReadChildren\" />\n    <permission name=\"ReadLifeCycle\" />\n    <permission name=\"ReviewParticipant\" />\n    <permission name=\"ReadSecurity\" />\n\n    <permission name=\"WriteProperties\" />\n    <permission name=\"ReadVersion\"/>\n\n    <permission name=\"WriteVersion\" >\n       <include>WriteProperties</include>\n    </permission>\n\n    <permission name=\"Version\" >\n       <include>ReadVersion</include>\n       <include>WriteVersion</include>\n    </permission>\n\n    <permission name=\"Read\">\n      <include>Browse</include>\n      <include>ReadVersion</include>\n      <include>ReadProperties</include>\n      <include>ReadChildren</include>\n      <include>ReadLifeCycle</include>\n      <include>ReadSecurity</include>\n      <include>ReviewParticipant</include>\n    </permission>\n\n    <permission name=\"AddChildren\" />\n    <permission name=\"RemoveChildren\" />\n    <permission name=\"Remove\" />\n    <permission name=\"ManageWorkflows\" />\n    <permission name=\"WriteLifeCycle\" />\n    <permission name=\"Unlock\" />\n\n    <permission name=\"Remove\">\n      <include>RemoveChildren</include>\n      <!-- NXP-10929: necessary to follow the \"delete\" transition when Trash is enabled -->\n      <include>WriteLifeCycle</include>\n    </permission>\n\n    <permission name=\"ReadRemove\">\n      <include>Read</include>\n      <include>Remove</include>\n    </permission>\n\n    <permission name=\"Write\">\n      <include>AddChildren</include>\n      <include>WriteProperties</include>\n      <include>Remove</include>\n      <include>ManageWorkflows</include>\n      <include>WriteLifeCycle</include>\n      <include>WriteVersion</include>\n    </permission>\n\n    <permission name=\"ReadWrite\">\n      <include>Read</include>\n      <include>Write</include>\n    </permission>\n\n    <permission name=\"WriteSecurity\" />\n\n    <!-- special permission given to administrators: god-level access -->\n    <permission name=\"Everything\" />\n\n    <!-- deprecated - was used only for a single customer\n      project before pluggable permission definitions -->\n    <permission name=\"RestrictedRead\" />\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.security.SecurityService\"\n    point=\"permissionsVisibility\">\n\n    <visibility>\n      <item show=\"true\" order=\"10\">Read</item>\n      <item show=\"true\" order=\"50\" denyPermission=\"Write\">ReadWrite</item>\n      <item show=\"true\" order=\"100\">Everything</item>\n    </visibility>\n\n  </extension>\n</component>\n",
          "xmlFileName": "/OSGI-INF/permissions-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.core.blob.BlobManagerComponent",
          "documentation": "\n    Blob Manager, dispatching blobs and delegating logic to the appropriate Blob Provider.\n  \n",
          "documentationHtml": "<p>\nBlob Manager, dispatching blobs and delegating logic to the appropriate Blob Provider.\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.core.blob.BlobManager",
              "descriptors": [
                "org.nuxeo.ecm.core.blob.BlobDispatcherDescriptor",
                "org.nuxeo.ecm.core.blob.BlobProviderDescriptor"
              ],
              "documentation": "\n      Extension points to register the blob dispatcher and blob providers.\n    \n",
              "documentationHtml": "<p>\nExtension points to register the blob dispatcher and blob providers.\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.blob.BlobManager/ExtensionPoints/org.nuxeo.ecm.core.blob.BlobManager--configuration",
              "id": "org.nuxeo.ecm.core.blob.BlobManager--configuration",
              "label": "configuration (org.nuxeo.ecm.core.blob.BlobManager)",
              "name": "configuration",
              "version": "7.10-HF07"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.blob.BlobManager",
          "name": "org.nuxeo.ecm.core.blob.BlobManager",
          "requirements": [],
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.core.blob.BlobManager",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.blob.BlobManager/Services/org.nuxeo.ecm.core.blob.BlobManager",
              "id": "org.nuxeo.ecm.core.blob.BlobManager",
              "overriden": false,
              "version": "7.10-HF07"
            }
          ],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.blob.BlobManager\" version=\"1.0.0\">\n\n  <documentation>\n    Blob Manager, dispatching blobs and delegating logic to the appropriate Blob Provider.\n  </documentation>\n\n  <implementation class=\"org.nuxeo.ecm.core.blob.BlobManagerComponent\" />\n\n  <service>\n    <provide interface=\"org.nuxeo.ecm.core.blob.BlobManager\" />\n  </service>\n\n  <extension-point name=\"configuration\">\n    <documentation>\n      Extension points to register the blob dispatcher and blob providers.\n    </documentation>\n    <object class=\"org.nuxeo.ecm.core.blob.BlobDispatcherDescriptor\" />\n    <object class=\"org.nuxeo.ecm.core.blob.BlobProviderDescriptor\" />\n  </extension-point>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/blobmanager-service.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentation": "\n    Resolver for document properties containing DocumentModel reference. Can manage PATH reference or ID\n    reference. Value will contain id or path prefixed by the repository name to which the referenced document belongs.\n  \n",
          "documentationHtml": "<p>\nResolver for document properties containing DocumentModel reference. Can manage PATH reference or ID\nreference. Value will contain id or path prefixed by the repository name to which the referenced document belongs.\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.schema.ObjectResolverService--resolvers",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.DocumentModel.resolver/Contributions/org.nuxeo.ecm.core.DocumentModel.resolver--resolvers",
              "id": "org.nuxeo.ecm.core.DocumentModel.resolver--resolvers",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.ObjectResolverService",
                "name": "org.nuxeo.ecm.core.schema.ObjectResolverService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"resolvers\" target=\"org.nuxeo.ecm.core.schema.ObjectResolverService\">\n    <resolver class=\"org.nuxeo.ecm.core.model.DocumentModelResolver\" type=\"documentResolver\"/>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.DocumentModel.resolver",
          "name": "org.nuxeo.ecm.core.DocumentModel.resolver",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.core.DocumentModel.resolver\">\n  <documentation>\n    Resolver for document properties containing DocumentModel reference. Can manage PATH reference or ID\n    reference. Value will contain id or path prefixed by the repository name to which the referenced document belongs.\n  </documentation>\n\n  <extension target=\"org.nuxeo.ecm.core.schema.ObjectResolverService\" point=\"resolvers\">\n    <resolver type=\"documentResolver\" class=\"org.nuxeo.ecm.core.model.DocumentModelResolver\" />\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/document-resolver-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentation": "\n      Listener for life cycle change events.\n\n      If event occurs on a folder, it will recurse on children to perform the\n      same transition if possible.\n\n      If the transition event is about marking documents as \"deleted\", and a\n      child cannot perform the transition, it will be removed.\n\n      Undelete transitions are not recursed on the children, however a special\n      documentUndeleted event has the same role and is processed by this listener.\n    \n",
              "documentationHtml": "<p>\nListener for life cycle change events.\n</p><p>\nIf event occurs on a folder, it will recurse on children to perform the\nsame transition if possible.\n</p><p>\nIf the transition event is about marking documents as &#34;deleted&#34;, and a\nchild cannot perform the transition, it will be removed.\n</p><p>\nUndelete transitions are not recursed on the children, however a special\ndocumentUndeleted event has the same role and is processed by this listener.\n</p><p></p>",
              "extensionPoint": "org.nuxeo.ecm.core.event.EventServiceComponent--listener",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.event.lifecycle.listener/Contributions/org.nuxeo.ecm.core.event.lifecycle.listener--listener",
              "id": "org.nuxeo.ecm.core.event.lifecycle.listener--listener",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.event.EventServiceComponent",
                "name": "org.nuxeo.ecm.core.event.EventServiceComponent",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"listener\" target=\"org.nuxeo.ecm.core.event.EventServiceComponent\">\n\n    <documentation>\n      Listener for life cycle change events.\n\n      If event occurs on a folder, it will recurse on children to perform the\n      same transition if possible.\n\n      If the transition event is about marking documents as \"deleted\", and a\n      child cannot perform the transition, it will be removed.\n\n      Undelete transitions are not recursed on the children, however a special\n      documentUndeleted event has the same role and is processed by this listener.\n    </documentation>\n    <listener async=\"true\" class=\"org.nuxeo.ecm.core.lifecycle.event.BulkLifeCycleChangeListener\" name=\"bulkLifeCycleChangeListener\" postCommit=\"true\">\n      <event>lifecycle_transition_event</event>\n      <event>documentUndeleted</event>\n      <event>documentCreatedByCopy</event>\n    </listener>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.event.lifecycle.listener",
          "name": "org.nuxeo.ecm.core.event.lifecycle.listener",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.event.lifecycle.listener\"\n  version=\"1.0\">\n\n  <extension target=\"org.nuxeo.ecm.core.event.EventServiceComponent\"\n    point=\"listener\">\n\n    <documentation>\n      Listener for life cycle change events.\n\n      If event occurs on a folder, it will recurse on children to perform the\n      same transition if possible.\n\n      If the transition event is about marking documents as \"deleted\", and a\n      child cannot perform the transition, it will be removed.\n\n      Undelete transitions are not recursed on the children, however a special\n      documentUndeleted event has the same role and is processed by this listener.\n    </documentation>\n    <listener name=\"bulkLifeCycleChangeListener\" async=\"true\" postCommit=\"true\"\n      class=\"org.nuxeo.ecm.core.lifecycle.event.BulkLifeCycleChangeListener\">\n      <event>lifecycle_transition_event</event>\n      <event>documentUndeleted</event>\n      <event>documentCreatedByCopy</event>\n    </listener>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/lifecycle-listener-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.core.uidgen.UIDGeneratorComponent",
          "documentation": "\n    Component for a generator of unique ids, which can be used as metadata for documents or any other use.\n  \n",
          "documentationHtml": "<p>\nComponent for a generator of unique ids, which can be used as metadata for documents or any other use.\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.core.uidgen.UIDGeneratorService",
              "descriptors": [
                "org.nuxeo.ecm.core.uidgen.UIDSequencerProviderDescriptor"
              ],
              "documentation": "\n      Allows to contribute a new uid sequencer.\n    \n",
              "documentationHtml": "<p>\nAllows to contribute a new uid sequencer.\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.uidgen.UIDGeneratorService/ExtensionPoints/org.nuxeo.ecm.core.uidgen.UIDGeneratorService--sequencers",
              "id": "org.nuxeo.ecm.core.uidgen.UIDGeneratorService--sequencers",
              "label": "sequencers (org.nuxeo.ecm.core.uidgen.UIDGeneratorService)",
              "name": "sequencers",
              "version": "7.10-HF07"
            },
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.core.uidgen.UIDGeneratorService",
              "descriptors": [
                "org.nuxeo.ecm.core.uidgen.UIDGeneratorDescriptor"
              ],
              "documentation": "\n      Allows to contribute a new uid generator.\n    \n",
              "documentationHtml": "<p>\nAllows to contribute a new uid generator.\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.uidgen.UIDGeneratorService/ExtensionPoints/org.nuxeo.ecm.core.uidgen.UIDGeneratorService--generators",
              "id": "org.nuxeo.ecm.core.uidgen.UIDGeneratorService--generators",
              "label": "generators (org.nuxeo.ecm.core.uidgen.UIDGeneratorService)",
              "name": "generators",
              "version": "7.10-HF07"
            }
          ],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentation": "\n      Listener to automatically generate uids for documents according to the registered uid generators.\n    \n",
              "documentationHtml": "<p>\nListener to automatically generate uids for documents according to the registered uid generators.\n</p><p></p>",
              "extensionPoint": "org.nuxeo.ecm.core.event.EventServiceComponent--listener",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.uidgen.UIDGeneratorService/Contributions/org.nuxeo.ecm.core.uidgen.UIDGeneratorService--listener",
              "id": "org.nuxeo.ecm.core.uidgen.UIDGeneratorService--listener",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.event.EventServiceComponent",
                "name": "org.nuxeo.ecm.core.event.EventServiceComponent",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"listener\" target=\"org.nuxeo.ecm.core.event.EventServiceComponent\">\n    <documentation>\n      Listener to automatically generate uids for documents according to the registered uid generators.\n    </documentation>\n    <listener async=\"false\" class=\"org.nuxeo.ecm.core.uidgen.DocUIDGeneratorListener\" name=\"uidlistener\" postCommit=\"false\" priority=\"10\">\n      <event>documentCreated</event>\n    </listener>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.uidgen.UIDGeneratorService",
          "name": "org.nuxeo.ecm.core.uidgen.UIDGeneratorService",
          "requirements": [],
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.core.uidgen.UIDGeneratorService",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.uidgen.UIDGeneratorService/Services/org.nuxeo.ecm.core.uidgen.UIDSequencer",
              "id": "org.nuxeo.ecm.core.uidgen.UIDSequencer",
              "overriden": false,
              "version": "7.10-HF07"
            },
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.core.uidgen.UIDGeneratorService",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.uidgen.UIDGeneratorService/Services/org.nuxeo.ecm.core.uidgen.UIDGeneratorService",
              "id": "org.nuxeo.ecm.core.uidgen.UIDGeneratorService",
              "overriden": false,
              "version": "7.10-HF07"
            }
          ],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.uidgen.UIDGeneratorService\">\n\n  <alias>org.nuxeo.ecm.platform.uidgen.service.UIDGeneratorService</alias>\n\n  <documentation>\n    Component for a generator of unique ids, which can be used as metadata for documents or any other use.\n  </documentation>\n\n  <implementation class=\"org.nuxeo.ecm.core.uidgen.UIDGeneratorComponent\" />\n\n  <service>\n    <provide interface=\"org.nuxeo.ecm.core.uidgen.UIDSequencer\" />\n    <provide interface=\"org.nuxeo.ecm.core.uidgen.UIDGeneratorService\" />\n  </service>\n\n  <extension-point name=\"sequencers\">\n    <documentation>\n      Allows to contribute a new uid sequencer.\n    </documentation>\n    <object class=\"org.nuxeo.ecm.core.uidgen.UIDSequencerProviderDescriptor\" />\n  </extension-point>\n\n  <extension-point name=\"generators\">\n    <documentation>\n      Allows to contribute a new uid generator.\n    </documentation>\n    <object class=\"org.nuxeo.ecm.core.uidgen.UIDGeneratorDescriptor\" />\n  </extension-point>\n\n  <extension target=\"org.nuxeo.ecm.core.event.EventServiceComponent\" point=\"listener\">\n    <documentation>\n      Listener to automatically generate uids for documents according to the registered uid generators.\n    </documentation>\n    <listener name=\"uidlistener\" async=\"false\" postCommit=\"false\"\n      class=\"org.nuxeo.ecm.core.uidgen.DocUIDGeneratorListener\" priority=\"10\">\n      <event>documentCreated</event>\n    </listener>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/uidgenerator-service.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.core.trash.TrashServiceImpl",
          "documentation": "\n    The trash service is responsible for deleting, purging and undeleting documents\n    based on the lifecycle state.\n  \n",
          "documentationHtml": "<p>\nThe trash service is responsible for deleting, purging and undeleting documents\nbased on the lifecycle state.\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.trash.TrashService",
          "name": "org.nuxeo.ecm.core.trash.TrashService",
          "requirements": [],
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.core.trash.TrashService",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.trash.TrashService/Services/org.nuxeo.ecm.core.trash.TrashService",
              "id": "org.nuxeo.ecm.core.trash.TrashService",
              "overriden": false,
              "version": "7.10-HF07"
            }
          ],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.trash.TrashService\"\n  version=\"1.0\">\n\n  <service>\n    <provide interface=\"org.nuxeo.ecm.core.trash.TrashService\" />\n  </service>\n\n  <implementation class=\"org.nuxeo.ecm.core.trash.TrashServiceImpl\" />\n\n  <documentation>\n    The trash service is responsible for deleting, purging and undeleting documents\n    based on the lifecycle state.\n  </documentation>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/trash-service.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentation": "\n      The lock security policy checks if a lock is set on the document, in case\n      it denies write access to everyone except to the user who locked it.\n    \n",
              "documentationHtml": "<p>\nThe lock security policy checks if a lock is set on the document, in case\nit denies write access to everyone except to the user who locked it.\n</p><p></p>",
              "extensionPoint": "org.nuxeo.ecm.core.security.SecurityService--policies",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.security.defaultPolicies/Contributions/org.nuxeo.ecm.core.security.defaultPolicies--policies",
              "id": "org.nuxeo.ecm.core.security.defaultPolicies--policies",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.security.SecurityService",
                "name": "org.nuxeo.ecm.core.security.SecurityService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"policies\" target=\"org.nuxeo.ecm.core.security.SecurityService\">\n\n    <documentation>\n      The lock security policy checks if a lock is set on the document, in case\n      it denies write access to everyone except to the user who locked it.\n    </documentation>\n    <policy class=\"org.nuxeo.ecm.core.security.LockSecurityPolicy\" name=\"lock\" order=\"10\"/>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.security.defaultPolicies",
          "name": "org.nuxeo.ecm.core.security.defaultPolicies",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.security.defaultPolicies\">\n\n  <extension target=\"org.nuxeo.ecm.core.security.SecurityService\"\n    point=\"policies\">\n\n    <documentation>\n      The lock security policy checks if a lock is set on the document, in case\n      it denies write access to everyone except to the user who locked it.\n    </documentation>\n    <policy name=\"lock\" class=\"org.nuxeo.ecm.core.security.LockSecurityPolicy\"\n      order=\"10\" />\n\n  </extension>\n\n  <!--\n  Policy disabled by default given that with auto-checkout\n  it looks like write access to checked in documents is allowed.\n  <extension target=\"org.nuxeo.ecm.core.security.SecurityService\"\n    point=\"policies\">\n    <documentation>\n      The checkin security policy denies write access on a live document when\n      it is in the checked-in state. The document must be checked out before\n      modification is allowed.\n      @since 5.4\n    </documentation>\n    <policy name=\"checkin\" class=\"org.nuxeo.ecm.core.security.CheckInSecurityPolicy\"\n      order=\"15\" />\n  </extension>\n  -->\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/security-policy-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.core.CoreService",
          "documentation": "\n  The core service provides a way to register version removal policies\n  \n",
          "documentationHtml": "<p>\nThe core service provides a way to register version removal policies\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.core.CoreService",
              "descriptors": [
                "org.nuxeo.ecm.core.CoreServiceOrphanVersionRemovalFilterDescriptor"
              ],
              "documentation": "\n      Used to register filter that are used by the default VersionRemovalPolicy implementation to check asynchronously what versions can really be removed.\n      <code>\n    <filter class=\"...\"/>\n</code>\n",
              "documentationHtml": "<p>\nUsed to register filter that are used by the default VersionRemovalPolicy implementation to check asynchronously what versions can really be removed.\n</p><p></p><pre><code>    &lt;filter class&#61;&#34;...&#34;/&gt;\n</code></pre><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.CoreService/ExtensionPoints/org.nuxeo.ecm.core.CoreService--orphanVersionRemovalFilter",
              "id": "org.nuxeo.ecm.core.CoreService--orphanVersionRemovalFilter",
              "label": "orphanVersionRemovalFilter (org.nuxeo.ecm.core.CoreService)",
              "name": "orphanVersionRemovalFilter",
              "version": "7.10-HF07"
            },
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.core.CoreService",
              "descriptors": [
                "org.nuxeo.ecm.core.CoreServicePolicyDescriptor"
              ],
              "documentation": "\n      Used to register the version removal policy, which must implement\n      VersionRemovalPolicy.\n      <code>\n    <policy class=\"...\"/>\n</code>\n",
              "documentationHtml": "<p>\nUsed to register the version removal policy, which must implement\nVersionRemovalPolicy.\n</p><p></p><pre><code>    &lt;policy class&#61;&#34;...&#34;/&gt;\n</code></pre><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.CoreService/ExtensionPoints/org.nuxeo.ecm.core.CoreService--versionRemovalPolicy",
              "id": "org.nuxeo.ecm.core.CoreService--versionRemovalPolicy",
              "label": "versionRemovalPolicy (org.nuxeo.ecm.core.CoreService)",
              "name": "versionRemovalPolicy",
              "version": "7.10-HF07"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.CoreService",
          "name": "org.nuxeo.ecm.core.CoreService",
          "requirements": [],
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.core.CoreService",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.CoreService/Services/org.nuxeo.ecm.core.CoreService",
              "id": "org.nuxeo.ecm.core.CoreService",
              "overriden": false,
              "version": "7.10-HF07"
            }
          ],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.core.CoreService\" version=\"1.0\">\n  <documentation>\n  The core service provides a way to register version removal policies\n  </documentation>\n\n  <implementation class=\"org.nuxeo.ecm.core.CoreService\"/>\n\n  <service>\n    <provide interface=\"org.nuxeo.ecm.core.CoreService\" />\n  </service>\n\n  <extension-point name=\"versionRemovalPolicy\">\n    <documentation>\n      Used to register the version removal policy, which must implement\n      VersionRemovalPolicy.\n      <code>\n        <policy class=\"...\"/>\n      </code>\n    </documentation>\n    <object\n      class=\"org.nuxeo.ecm.core.CoreServicePolicyDescriptor\" />\n  </extension-point>\n\n  <extension-point name=\"orphanVersionRemovalFilter\">\n    <documentation>\n      Used to register filter that are used by the default VersionRemovalPolicy implementation to check asynchronously what versions can really be removed.\n      <code>\n        <filter class=\"...\"/>\n      </code>\n    </documentation>\n    <object\n      class=\"org.nuxeo.ecm.core.CoreServiceOrphanVersionRemovalFilterDescriptor\" />\n  </extension-point>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/CoreService.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentation": "\n      Listener used by DefaultVersionRemovalPolicy to remove the Orphan versions from repository in an async manner.\n    \n",
              "documentationHtml": "<p>\nListener used by DefaultVersionRemovalPolicy to remove the Orphan versions from repository in an async manner.\n</p><p></p>",
              "extensionPoint": "org.nuxeo.ecm.core.event.EventServiceComponent--listener",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.event.orphanVersionRemoval.listener/Contributions/org.nuxeo.ecm.core.event.orphanVersionRemoval.listener--listener",
              "id": "org.nuxeo.ecm.core.event.orphanVersionRemoval.listener--listener",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.event.EventServiceComponent",
                "name": "org.nuxeo.ecm.core.event.EventServiceComponent",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"listener\" target=\"org.nuxeo.ecm.core.event.EventServiceComponent\">\n\n    <documentation>\n      Listener used by DefaultVersionRemovalPolicy to remove the Orphan versions from repository in an async manner.\n    </documentation>\n    <listener async=\"true\" class=\"org.nuxeo.ecm.core.versioning.OrphanVersionRemoverListener\" name=\"orphanVersionRemoverListener\" postCommit=\"true\">\n      <event>orphan_versions_to_remove</event>\n    </listener>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.event.orphanVersionRemoval.listener",
          "name": "org.nuxeo.ecm.core.event.orphanVersionRemoval.listener",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.event.orphanVersionRemoval.listener\"\n  version=\"1.0\">\n\n  <extension target=\"org.nuxeo.ecm.core.event.EventServiceComponent\"\n    point=\"listener\">\n\n    <documentation>\n      Listener used by DefaultVersionRemovalPolicy to remove the Orphan versions from repository in an async manner.\n    </documentation>\n    <listener name=\"orphanVersionRemoverListener\" async=\"true\" postCommit=\"true\"\n      class=\"org.nuxeo.ecm.core.versioning.OrphanVersionRemoverListener\">\n      <event>orphan_versions_to_remove</event>\n    </listener>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/orphanVersionRemoval-listener-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentation": "\n      Defines an adapter for documents having versioning\n      info. The adapter\n      interface is VersioningDocument and could be\n      retrieved in a standard way\n      from a document model with\n      getAdapter(VersioningDocument.class)\n    \n",
              "documentationHtml": "<p>\nDefines an adapter for documents having versioning\ninfo. The adapter\ninterface is VersioningDocument and could be\nretrieved in a standard way\nfrom a document model with\ngetAdapter(VersioningDocument.class)\n</p><p></p>",
              "extensionPoint": "org.nuxeo.ecm.core.api.DocumentAdapterService--adapters",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.versioning.VersioningDocumentAdapter/Contributions/org.nuxeo.ecm.core.versioning.VersioningDocumentAdapter--adapters",
              "id": "org.nuxeo.ecm.core.versioning.VersioningDocumentAdapter--adapters",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.api.DocumentAdapterService",
                "name": "org.nuxeo.ecm.core.api.DocumentAdapterService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"adapters\" target=\"org.nuxeo.ecm.core.api.DocumentAdapterService\">\n\n    <documentation>\n      Defines an adapter for documents having versioning\n      info. The adapter\n      interface is VersioningDocument and could be\n      retrieved in a standard way\n      from a document model with\n      getAdapter(VersioningDocument.class)\n    </documentation>\n\n    <adapter class=\"org.nuxeo.ecm.core.api.facet.VersioningDocument\" factory=\"org.nuxeo.ecm.core.versioning.VersioningDocumentAdapterFactory\"/>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.versioning.VersioningDocumentAdapter",
          "name": "org.nuxeo.ecm.core.versioning.VersioningDocumentAdapter",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.versioning.VersioningDocumentAdapter\"\n  version=\"1.0\">\n\n  <extension target=\"org.nuxeo.ecm.core.api.DocumentAdapterService\"\n    point=\"adapters\">\n\n    <documentation>\n      Defines an adapter for documents having versioning\n      info. The adapter\n      interface is VersioningDocument and could be\n      retrieved in a standard way\n      from a document model with\n      getAdapter(VersioningDocument.class)\n    </documentation>\n\n    <adapter class=\"org.nuxeo.ecm.core.api.facet.VersioningDocument\"\n      factory=\"org.nuxeo.ecm.core.versioning.VersioningDocumentAdapterFactory\" />\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/versioning-document-adapter.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentation": "\n\n    This component is contributing the core types and schemas and other core extensions.\n\n    @author <a href=\"mailto:bs@nuxeo.com\">Bogdan Stefanescu</a>\n",
          "documentationHtml": "<p>\nThis component is contributing the core types and schemas and other core extensions.\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentation": "The core schemas\n",
              "documentationHtml": "<p>\nThe core schemas</p>",
              "extensionPoint": "org.nuxeo.ecm.core.schema.TypeService--schema",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.CoreExtensions/Contributions/org.nuxeo.ecm.core.CoreExtensions--schema",
              "id": "org.nuxeo.ecm.core.CoreExtensions--schema",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.TypeService",
                "name": "org.nuxeo.ecm.core.schema.TypeService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"schema\" target=\"org.nuxeo.ecm.core.schema.TypeService\">\n    <documentation>The core schemas</documentation>\n    <!-- XXX AT: prefixes should be set, see NXP-1152 -->\n    <schema name=\"core-types\" src=\"schema/core-types.xsd\"/>\n    <schema name=\"base\" src=\"schema/base.xsd\"/>\n    <schema name=\"relation\" prefix=\"relation\" src=\"schema/relation.xsd\"/>\n    <schema name=\"common\" src=\"schema/common.xsd\"/>\n    <schema name=\"dublincore\" prefix=\"dc\" src=\"schema/dublincore.xsd\"/>\n    <schema name=\"uid\" src=\"schema/uid.xsd\"/>\n    <schema name=\"file\" src=\"schema/file.xsd\"/>\n    <schema name=\"files\" src=\"schema/files.xsd\"/>\n    <schema name=\"note\" src=\"schema/note.xsd\"/>\n    <schema name=\"domain\" src=\"schema/domain.xsd\"/>\n    <schema name=\"relatedtext\" src=\"schema/relatedtext.xsd\"/>\n\n    <schema name=\"publishing\" prefix=\"publish\" src=\"schema/publishing.xsd\"/>\n    <schema name=\"webcontainer\" prefix=\"webc\" src=\"schema/webcontainer.xsd\"/>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentation": "The core document types\n",
              "documentationHtml": "<p>\nThe core document types</p>",
              "extensionPoint": "org.nuxeo.ecm.core.schema.TypeService--doctype",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.CoreExtensions/Contributions/org.nuxeo.ecm.core.CoreExtensions--doctype",
              "id": "org.nuxeo.ecm.core.CoreExtensions--doctype",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.TypeService",
                "name": "org.nuxeo.ecm.core.schema.TypeService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"doctype\" target=\"org.nuxeo.ecm.core.schema.TypeService\">\n    <documentation>The core document types</documentation>\n\n    <!-- standard facets with no schema -->\n    <facet name=\"Folderish\" perDocumentQuery=\"false\"/> <!-- used by system -->\n    <facet name=\"Orderable\"/> <!-- used by system -->\n    <facet name=\"Versionable\"/> <!-- used by system -->\n    <facet name=\"Downloadable\"/>\n    <facet name=\"Publishable\"/>\n    <facet name=\"PublishSpace\"/>\n    <facet name=\"MasterPublishSpace\"/>\n    <facet name=\"Commentable\"/>\n    <facet name=\"WebView\"/>\n    <facet name=\"SuperSpace\"/>\n    <facet name=\"HiddenInNavigation\" perDocumentQuery=\"false\"/>\n    <facet name=\"SystemDocument\"/>\n    <facet name=\"NotFulltextIndexable\"/>\n\n    <!-- facet to be used for full-text indexing of related text content\n      (e.g. comments, annotations, tags...) -->\n    <facet name=\"HasRelatedText\">\n      <schema name=\"relatedtext\"/>\n    </facet>\n\n    <doctype extends=\"Document\" name=\"Folder\">\n      <schema name=\"common\"/>\n      <schema name=\"dublincore\"/>\n      <facet name=\"Folderish\"/>\n      <subtypes>\n        <type>Folder</type>\n        <type>File</type>\n        <type>Note</type>\n      </subtypes>\n    </doctype>\n\n    <doctype extends=\"Folder\" name=\"OrderedFolder\">\n      <facet name=\"Orderable\"/>\n    </doctype>\n\n    <doctype extends=\"Folder\" name=\"HiddenFolder\">\n      <facet name=\"HiddenInNavigation\"/>\n    </doctype>\n\n    <doctype extends=\"Folder\" name=\"Root\">\n      <subtypes>\n        <type>Domain</type>\n      </subtypes>\n    </doctype>\n\n    <doctype name=\"Relation\"> <!-- no extends -->\n      <schema name=\"relation\"/>\n      <schema name=\"dublincore\"/>\n    </doctype>\n\n    <doctype extends=\"Folder\" name=\"Domain\">\n      <schema name=\"domain\"/>\n      <facet name=\"SuperSpace\"/>\n      <subtypes>\n        <type>WorkspaceRoot</type>\n        <type>SectionRoot</type>\n        <type>TemplateRoot</type>\n      </subtypes>\n    </doctype>\n\n    <doctype extends=\"Folder\" name=\"WorkspaceRoot\">\n      <facet name=\"SuperSpace\"/>\n      <subtypes>\n        <type>Workspace</type>\n      </subtypes>\n    </doctype>\n\n    <doctype extends=\"Folder\" name=\"Workspace\">\n      <!-- for logo -->\n      <schema name=\"file\"/>\n      <schema name=\"webcontainer\"/>\n      <schema name=\"publishing\"/>\n      <!-- the content of webcontainer -->\n      <schema name=\"files\"/>\n      <facet name=\"SuperSpace\"/>\n      <subtypes>\n        <type>Workspace</type>\n        <type>Folder</type>\n        <type>File</type>\n        <type>Note</type>\n      </subtypes>\n    </doctype>\n\n    <doctype extends=\"Folder\" name=\"TemplateRoot\">\n      <facet name=\"SuperSpace\"/>\n      <subtypes>\n        <type>Workspace</type>\n      </subtypes>\n    </doctype>\n\n    <doctype extends=\"Folder\" name=\"SectionRoot\">\n      <facet name=\"SuperSpace\"/>\n      <facet name=\"MasterPublishSpace\"/>\n      <subtypes>\n        <type>Section</type>\n      </subtypes>\n    </doctype>\n\n    <doctype extends=\"Folder\" name=\"Section\">\n      <!-- for logo -->\n      <schema name=\"file\"/>\n      <facet name=\"SuperSpace\"/>\n      <facet name=\"PublishSpace\"/>\n      <subtypes>\n        <type>Section</type>\n      </subtypes>\n    </doctype>\n\n    <doctype extends=\"Document\" name=\"File\">\n      <schema name=\"common\"/>\n      <schema name=\"file\"/>\n      <schema name=\"dublincore\"/>\n      <schema name=\"uid\"/>\n      <schema name=\"files\"/>\n      <facet name=\"Downloadable\"/>\n      <facet name=\"Versionable\"/>\n      <facet name=\"Publishable\"/>\n      <facet name=\"Commentable\"/>\n      <facet name=\"HasRelatedText\"/>\n    </doctype>\n\n    <doctype extends=\"Document\" name=\"Note\">\n      <schema name=\"common\"/>\n      <schema name=\"note\"/>\n      <schema name=\"uid\"/>\n      <schema name=\"files\"/>\n      <schema name=\"dublincore\"/>\n      <facet name=\"Versionable\"/>\n      <facet name=\"Publishable\"/>\n      <facet name=\"Commentable\"/>\n      <facet name=\"HasRelatedText\"/>\n    </doctype>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.event.EventServiceComponent--listener",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.CoreExtensions/Contributions/org.nuxeo.ecm.core.CoreExtensions--listener",
              "id": "org.nuxeo.ecm.core.CoreExtensions--listener",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.event.EventServiceComponent",
                "name": "org.nuxeo.ecm.core.event.EventServiceComponent",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"listener\" target=\"org.nuxeo.ecm.core.event.EventServiceComponent\">\n\n    <listener class=\"org.nuxeo.ecm.core.model.EmptyNameFixer\" name=\"emptyNameFixer\" priority=\"1000\">\n      <event>aboutToImport</event>\n      <event>aboutToCreate</event>\n      <event>aboutToMove</event>\n    </listener>\n\n    <listener class=\"org.nuxeo.ecm.core.model.DuplicatedNameFixer\" name=\"duplicatedNameFixer\" priority=\"2000\">\n      <event>aboutToImport</event>\n      <event>aboutToCreate</event>\n      <event>aboutToMove</event>\n    </listener>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentation": "The default type manager configuration\n",
              "documentationHtml": "<p>\nThe default type manager configuration</p>",
              "extensionPoint": "org.nuxeo.ecm.core.schema.TypeService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.CoreExtensions/Contributions/org.nuxeo.ecm.core.CoreExtensions--configuration",
              "id": "org.nuxeo.ecm.core.CoreExtensions--configuration",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.TypeService",
                "name": "org.nuxeo.ecm.core.schema.TypeService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.ecm.core.schema.TypeService\">\n    <documentation>The default type manager configuration</documentation>\n    <configuration>\n      <!--prefetch>common, dublincore</prefetch-->\n      <prefetch>common.icon, dc:title, dc:description, dc:created, dc:modified,\n        dc:lastContributor, dc:creator</prefetch>\n    </configuration>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core/org.nuxeo.ecm.core.CoreExtensions",
          "name": "org.nuxeo.ecm.core.CoreExtensions",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.core.CoreExtensions\" version=\"1.0\">\n\n  <documentation>\n    This component is contributing the core types and schemas and other core extensions.\n\n    @author <a href=\"mailto:bs@nuxeo.com\">Bogdan Stefanescu</a>\n  </documentation>\n\n  <extension target=\"org.nuxeo.ecm.core.schema.TypeService\"\n      point=\"schema\">\n    <documentation>The core schemas</documentation>\n    <!-- XXX AT: prefixes should be set, see NXP-1152 -->\n    <schema name=\"core-types\" src=\"schema/core-types.xsd\"/>\n    <schema name=\"base\" src=\"schema/base.xsd\"/>\n    <schema name=\"relation\" prefix=\"relation\" src=\"schema/relation.xsd\"/>\n    <schema name=\"common\" src=\"schema/common.xsd\"/>\n    <schema name=\"dublincore\" prefix=\"dc\" src=\"schema/dublincore.xsd\"/>\n    <schema name=\"uid\" src=\"schema/uid.xsd\"/>\n    <schema name=\"file\" src=\"schema/file.xsd\"/>\n    <schema name=\"files\" src=\"schema/files.xsd\"/>\n    <schema name=\"note\" src=\"schema/note.xsd\"/>\n    <schema name=\"domain\" src=\"schema/domain.xsd\"/>\n    <schema name=\"relatedtext\" src=\"schema/relatedtext.xsd\"/>\n\n    <schema name=\"publishing\" prefix=\"publish\" src=\"schema/publishing.xsd\" />\n    <schema name=\"webcontainer\" prefix=\"webc\" src=\"schema/webcontainer.xsd\"/>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.schema.TypeService\"\n      point=\"configuration\">\n    <documentation>The default type manager configuration</documentation>\n    <configuration>\n      <!--prefetch>common, dublincore</prefetch-->\n      <prefetch>common.icon, dc:title, dc:description, dc:created, dc:modified,\n        dc:lastContributor, dc:creator</prefetch>\n    </configuration>\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.schema.TypeService\"\n      point=\"doctype\">\n    <documentation>The core document types</documentation>\n\n    <!-- standard facets with no schema -->\n    <facet name=\"Folderish\" perDocumentQuery=\"false\"/> <!-- used by system -->\n    <facet name=\"Orderable\" /> <!-- used by system -->\n    <facet name=\"Versionable\" /> <!-- used by system -->\n    <facet name=\"Downloadable\" />\n    <facet name=\"Publishable\" />\n    <facet name=\"PublishSpace\" />\n    <facet name=\"MasterPublishSpace\" />\n    <facet name=\"Commentable\" />\n    <facet name=\"WebView\" />\n    <facet name=\"SuperSpace\" />\n    <facet name=\"HiddenInNavigation\" perDocumentQuery=\"false\"/>\n    <facet name=\"SystemDocument\" />\n    <facet name=\"NotFulltextIndexable\" />\n\n    <!-- facet to be used for full-text indexing of related text content\n      (e.g. comments, annotations, tags...) -->\n    <facet name=\"HasRelatedText\">\n      <schema name=\"relatedtext\" />\n    </facet>\n\n    <doctype name=\"Folder\" extends=\"Document\">\n      <schema name=\"common\"/>\n      <schema name=\"dublincore\"/>\n      <facet name=\"Folderish\"/>\n      <subtypes>\n        <type>Folder</type>\n        <type>File</type>\n        <type>Note</type>\n      </subtypes>\n    </doctype>\n\n    <doctype name=\"OrderedFolder\" extends=\"Folder\">\n      <facet name=\"Orderable\"/>\n    </doctype>\n\n    <doctype name=\"HiddenFolder\" extends=\"Folder\">\n      <facet name=\"HiddenInNavigation\" />\n    </doctype>\n\n    <doctype name=\"Root\" extends=\"Folder\">\n      <subtypes>\n        <type>Domain</type>\n      </subtypes>\n    </doctype>\n\n    <doctype name=\"Relation\"> <!-- no extends -->\n      <schema name=\"relation\"/>\n      <schema name=\"dublincore\"/>\n    </doctype>\n\n    <doctype name=\"Domain\" extends=\"Folder\">\n      <schema name=\"domain\"/>\n      <facet name=\"SuperSpace\"/>\n      <subtypes>\n        <type>WorkspaceRoot</type>\n        <type>SectionRoot</type>\n        <type>TemplateRoot</type>\n      </subtypes>\n    </doctype>\n\n    <doctype name=\"WorkspaceRoot\" extends=\"Folder\">\n      <facet name=\"SuperSpace\"/>\n      <subtypes>\n        <type>Workspace</type>\n      </subtypes>\n    </doctype>\n\n    <doctype name=\"Workspace\" extends=\"Folder\">\n      <!-- for logo -->\n      <schema name=\"file\"/>\n      <schema name=\"webcontainer\"/>\n      <schema name=\"publishing\"/>\n      <!-- the content of webcontainer -->\n      <schema name=\"files\" />\n      <facet name=\"SuperSpace\"/>\n      <subtypes>\n        <type>Workspace</type>\n        <type>Folder</type>\n        <type>File</type>\n        <type>Note</type>\n      </subtypes>\n    </doctype>\n\n    <doctype name=\"TemplateRoot\" extends=\"Folder\">\n      <facet name=\"SuperSpace\"/>\n      <subtypes>\n        <type>Workspace</type>\n      </subtypes>\n    </doctype>\n\n    <doctype name=\"SectionRoot\" extends=\"Folder\">\n      <facet name=\"SuperSpace\"/>\n      <facet name=\"MasterPublishSpace\" />\n      <subtypes>\n        <type>Section</type>\n      </subtypes>\n    </doctype>\n\n    <doctype name=\"Section\" extends=\"Folder\">\n      <!-- for logo -->\n      <schema name=\"file\"/>\n      <facet name=\"SuperSpace\"/>\n      <facet name=\"PublishSpace\" />\n      <subtypes>\n        <type>Section</type>\n      </subtypes>\n    </doctype>\n\n    <doctype name=\"File\" extends=\"Document\">\n      <schema name=\"common\"/>\n      <schema name=\"file\"/>\n      <schema name=\"dublincore\"/>\n      <schema name=\"uid\"/>\n      <schema name=\"files\"/>\n      <facet name=\"Downloadable\"/>\n      <facet name=\"Versionable\"/>\n      <facet name=\"Publishable\"/>\n      <facet name=\"Commentable\"/>\n      <facet name=\"HasRelatedText\"/>\n    </doctype>\n\n    <doctype name=\"Note\" extends=\"Document\">\n      <schema name=\"common\"/>\n      <schema name=\"note\"/>\n      <schema name=\"uid\"/>\n      <schema name=\"files\"/>\n      <schema name=\"dublincore\"/>\n      <facet name=\"Versionable\"/>\n      <facet name=\"Publishable\"/>\n      <facet name=\"Commentable\"/>\n      <facet name=\"HasRelatedText\"/>\n    </doctype>\n\n  </extension>\n\n   <extension target=\"org.nuxeo.ecm.core.event.EventServiceComponent\"\n    point=\"listener\">\n\n    <listener name=\"emptyNameFixer\"\n        class=\"org.nuxeo.ecm.core.model.EmptyNameFixer\" priority=\"1000\">\n      <event>aboutToImport</event>\n      <event>aboutToCreate</event>\n      <event>aboutToMove</event>\n    </listener>\n\n    <listener name=\"duplicatedNameFixer\"\n        class=\"org.nuxeo.ecm.core.model.DuplicatedNameFixer\" priority=\"2000\">\n      <event>aboutToImport</event>\n      <event>aboutToCreate</event>\n      <event>aboutToMove</event>\n    </listener>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/CoreExtensions.xml",
          "xmlPureComponent": true
        }
      ],
      "fileName": "nuxeo-core-7.10-HF07.jar",
      "groupId": "org.nuxeo.ecm.core",
      "hierarchyPath": "/grp:org.nuxeo.ecm.core/org.nuxeo.ecm.core",
      "id": "org.nuxeo.ecm.core",
      "location": "",
      "manifest": "Manifest-Version: 1.0\r\nArchiver-Version: Plexus Archiver\r\nCreated-By: 1.6.0_20 (Sun Microsystems Inc.)\r\nBuilt-By: jenkins\r\nBuild-Jdk: 1.8.0_60\r\nBundle-ManifestVersion: 2\r\nBundle-Version: 5.4.2.qualifier\r\nExport-Package: org.nuxeo.ecm.core,org.nuxeo.ecm.core.api,org.nuxeo.ec\r\n m.core.api.local,org.nuxeo.ecm.core.lifecycle,org.nuxeo.ecm.core.life\r\n cycle.event,org.nuxeo.ecm.core.lifecycle.extensions,org.nuxeo.ecm.cor\r\n e.lifecycle.impl,org.nuxeo.ecm.core.model,org.nuxeo.ecm.core.reposito\r\n ry,org.nuxeo.ecm.core.security,org.nuxeo.ecm.core.trash,org.nuxeo.ecm\r\n .core.versioning\r\nBundle-ActivationPolicy: lazy\r\nBundle-ClassPath: .\r\nBundle-Category: core\r\nBundle-Name: org.nuxeo.ecm.core\r\nBundle-RequiredExecutionEnvironment: JavaSE-1.6\r\nRequire-Bundle: org.nuxeo.ecm.core.api;visibility:=reexport,org.nuxeo.\r\n ecm.core.event\r\nNuxeo-Component: OSGI-INF/CoreService.xml, OSGI-INF/RepositoryService.\r\n xml, OSGI-INF/CoreExtensions.xml, OSGI-INF/LifeCycleService.xml, OSGI\r\n -INF/LifeCycleCoreExtensions.xml, OSGI-INF/lifecycle-listener-contrib\r\n .xml, OSGI-INF/SecurityService.xml, OSGI-INF/permissions-contrib.xml,\r\n  OSGI-INF/security-policy-contrib.xml, OSGI-INF/trash-service.xml, OS\r\n GI-INF/versioning-service.xml, OSGI-INF/versioning-document-adapter.x\r\n ml, OSGI-INF/orphanVersionRemoval-listener-contrib.xml, OSGI-INF/docu\r\n ment-resolver-contrib.xml, OSGI-INF/blobmanager-service.xml, OSGI-INF\r\n /uidgenerator-service.xml, OSGI-INF/scheduler-contrib.xml\r\nImport-Package: javax.naming,javax.transaction;version=\"1.1\",javax.tra\r\n nsaction.xa;version=\"1.1\",javax.xml.parsers,org.apache.commons.lang,o\r\n rg.apache.commons.logging,org.apache.xml.serialize,org.nuxeo.common.c\r\n ollections,org.nuxeo.common.utils,org.nuxeo.common.xmap.annotation,or\r\n g.nuxeo.ecm.core.event,org.nuxeo.ecm.core.event.impl,org.nuxeo.ecm.co\r\n re.query,org.nuxeo.ecm.core.query.sql.model,org.nuxeo.ecm.core.schema\r\n ,org.nuxeo.ecm.core.schema.types,org.nuxeo.runtime,org.nuxeo.runtime.\r\n api,org.nuxeo.runtime.api.login,org.nuxeo.runtime.model,org.nuxeo.run\r\n time.services.event,org.nuxeo.runtime.services.streaming,org.nuxeo.ru\r\n ntime.transaction,org.osgi.framework;version=\"1.4\",org.w3c.dom\r\nBundle-SymbolicName: org.nuxeo.ecm.core;singleton:=true\r\nEclipse-ExtensibleAPI: true\r\n\r\n",
      "packages": [],
      "requirements": [],
      "version": "7.10-HF07"
    }
  ],
  "creationDate": 1664792867649,
  "key": "Nuxeo Platform LTS 2015-7.10",
  "name": "Nuxeo Platform LTS 2015",
  "operations": [],
  "packages": [],
  "pluginSnapshots": {},
  "releaseDate": 1447023600000,
  "version": "7.10"
}